package thinker.miracle.business.common.model;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

import thinker.miracle.business.base.BaseModel;
import thinker.miracle.utils.JsonUtil;

public class OptionTypeModel extends BaseModel{
	
	private static final long serialVersionUID = -4452980974302406667L;

	/**
	 * 选项编号
	 */
	private String optionNo;
	
	/**
	 * 选项名称
	 */
	private String optionName;

	public String getOptionNo() {
		return optionNo;
	}
	
	public void setOptionNo(String optionNo) {
		this.optionNo = optionNo;
	}

	public String getOptionName() {
		return optionName;
	}

	public void setOptionName(String optionName) {
		this.optionName = optionName;
	}
	
	public static void main(String[] args) {
		OptionTypeModel optione = new OptionTypeModel();
		optione.setOptionNo("123");
		optione.setOptionName("name");
		String json = JsonUtil.bean2Json(optione);
		System.out.println(json);
		
		OptionTypeModel op = JsonUtil.json2Bean(json,OptionTypeModel.class);
		System.out.println(op);
		
		System.out.println(op.getOptionNo() + "   " + op.getOptionName());
		
		json = "[{\"optionName\":\"name\",\"optionNo\":\"123\"},{\"optionName\":\"name\",\"optionNo\":\"123\"},{\"optionName\":\"name\",\"optionNo\":\"123\"}]";
		List<OptionTypeModel> ops = JsonUtil.json2List(json,OptionTypeModel.class);
		System.out.println(ops);
		for(OptionTypeModel o : ops ){
			System.out.println(o.getOptionNo() + "   " + o.getOptionName());
		}
		System.out.println("-----------------------------------------------");
		json = "[{\"optionName\":\"name\",\"optionNo\":\"123\"},{\"optionName\":\"name\",\"optionNo\":\"123\"},{\"optionName\":\"name\",\"optionNo\":\"123\"}]";
		OptionTypeModel[] opArr = JsonUtil.json2Array(json,OptionTypeModel.class);
		System.out.println(opArr);
		for(OptionTypeModel o : opArr ){
			System.out.println(o.getOptionNo() + "   " + o.getOptionName());
		}
		
		System.out.println("-----------------------------------------------");
		json = "[{\"optionName\":\"name\",\"optionNo\": null },{\"optionName\":\"name\",\"optionNo\":\"123\"},{\"optionName\":\"name\",\"optionNo\":\"123\"}]";
		Map<String,Object>[] opMapArr = JsonUtil.json2Array(json,Map.class);
		System.out.println(opMapArr);
		for(Map<String,Object> o : opMapArr ){
			System.out.println(o.get("optionNo") + "\t" + o.get("optionName"));
		}
	}
}
